Skip to content

[skip changelog] Document the programmers system of Arduino platforms #925

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Aug 31, 2020
Merged

[skip changelog] Document the programmers system of Arduino platforms #925

merged 4 commits into from
Aug 31, 2020

Conversation

per1234
Copy link
Contributor

@per1234 per1234 commented Aug 26, 2020

Please check if the PR fulfills these requirements

  • The PR has no duplicates (please search among the Pull Requests
    before creating one)
  • The PR follows
    our contributing guidelines
  • Tests for the changes have been added (for bug fixes / features)
  • Docs have been added / updated (for bug fixes / features)

  • What kind of change does this PR introduce?

Docs update


  • What is the current behavior?

The system of support for external programmers in Arduino platforms, although complex and in widespread use, is essentially undocumented.


  • What is the new behavior?

The programmers features of Arduino platforms are fully documented:

  • platform.txt
  • "Burn Bootloader"/erase and bootloader actions
  • "Upload using Programmer/program action
  • Programmer inheritance from referenced platforms

  • Does this PR introduce a breaking change?

No

  • Other information:

This pull request takes into account the behavior of the Arduino IDE both before and after the available programmers were limited to the platform of the selected board (arduino/Arduino#9900)


NOTE: the example programmer snippet added in fc25182 is missing some of the properties that are defined in the real programmer definition in the Arduino AVR Boards platform. After a lot of investigation, experimentation, and even consulting with the original author of the code, I was still unable to find any use of these properties in the current or any past IDE version that supports the 1.5 platform format. If these properties have no purpose, they only represent a source of confusion and maintenance burden for platform developers.

@per1234 per1234 added the topic: documentation Related to documentation for the project label Aug 26, 2020
@per1234 per1234 requested a review from cmaglie August 26, 2020 15:46
…rm system

This file is used to define external programmer configurations to be used for burning bootloaders and programming Arduino boards.

NOTE: the example programmer snippet is missing some of the properties that are defined in the real programmer definition in the Arduino AVR Boards platform. After a lot of investigation, experimentation, and even consulting with the original author of the code, I was still unable to find any use of these properties in the current or any past IDE version that supported the 1.5 platform format. If these properties have no purpose, they they only represent a source of confusion and maintenance burden for platform developers.
Copy link

@ubidefeo ubidefeo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

beside the comment about the "of" the rest all looks good to me

Previously, all programmers of all platforms of the same architecture could be used. The behavior of the Arduino IDE was changed in the 1.8.13 release in this matter, and Arduino CLI and Arduino Pro IDE followed the same behavior from the initial introduction of support for programmers. This means it's now important to document programmer inheritance.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic: documentation Related to documentation for the project
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants